package com.kclm.xsap.utils.random;

import java.util.Random;

public class RandomCodeGenerator {
    // 生成指定长度的随机验证码（包含大小写字母和数字）
    public static String generateRandomCode(int length) {
        // 生成随机数种子
        Random random = new Random();
        // 存储生成的随机验证码
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < length; i++) {
            int choice = random.nextInt(3); // 生成0、1、2中的一个随机数
            char nextChar;
            switch (choice) {
                case 0:
                    // 生成随机的大写字母的ASCII码
                    nextChar = (char) (random.nextInt(26) + 65);
                    break;
                case 1:
                    // 生成随机的小写字母的ASCII码
                    nextChar = (char) (random.nextInt(26) + 97);
                    break;
                case 2:
                    // 生成随机的数字的ASCII码
                    nextChar = (char) (random.nextInt(10) + 48);
                    break;
                default:
                    throw new IllegalStateException("Unexpected value: " + choice);
            }
            // 将字符添加到字符串中
            sb.append(nextChar);
        }
        // 返回生成的随机验证码
        return sb.toString();
    }
}
